using System;
using System.Collections.Generic;

namespace PortalFolia.Data.Objetos
{
    public class Eventos
    {
        private int _eventoId;
        private string _nomeEvento;
        private string _descricao;
        private DateTime _dataEvento;
        private string _horario;
        private byte[] _imagemEvento;
        private byte[] _imagemLocal;
        private string _site;
        private string _categoria;
        private string _classificacaoEtaria;
        private string _cidade;
        private IList<TipoIngresso> _listaTipoIngressos;
        private IList<Comentario> _listaComentarios;

        public Eventos()
        {
            _listaTipoIngressos = new List<TipoIngresso>();
            _listaComentarios = new List<Comentario>();
        }

        public virtual int EventoId
        {
            get { return _eventoId; }
            set { _eventoId = value; }
        }

        public virtual string NomeEvento
        {
            get { return _nomeEvento; }
            set { _nomeEvento = value; }
        }

        public virtual string Descricao
        {
            get { return _descricao; }
            set { _descricao = value; }
        }

        public virtual DateTime DataEvento
        {
            get { return _dataEvento; }
            set { _dataEvento = value; }
        }

        public virtual string Horario
        {
            get { return _horario; }
            set { _horario = value; }
        }

        public virtual byte[] ImagemEvento
        {
            get { return _imagemEvento; }
            set { _imagemEvento = value; }
        }

        public virtual byte[] ImagemLocal
        {
            get { return _imagemLocal; }
            set { _imagemLocal = value; }
        }

        public virtual string Site
        {
            get { return _site; }
            set { _site = value; }
        }

        public virtual string Categoria
        {
            get { return _categoria; }
            set { _categoria = value; }
        }

        public virtual string ClassificacaoEtaria
        {
            get { return _classificacaoEtaria; }
            set { _classificacaoEtaria = value; }
        }

        public virtual string Cidade
        {
            get { return _cidade; }
            set { _cidade = value; }
        }

        public virtual IList<TipoIngresso> ListaTipoIngressos
        {
            get { return _listaTipoIngressos; }
            set { _listaTipoIngressos = value; }
        }

        public virtual IList<Comentario> ListaComentarios
        {
            get { return _listaComentarios; }
            set { _listaComentarios = value; }
        }

        /*-------------------------------------------------------------------*/

        public virtual void AddNovoComentario(Comentario comentario)
        {
            this._listaComentarios.Add(comentario);
        }

        public virtual void AddNovoTipoIngresso(TipoIngresso tipoIngresso)
        {
            this._listaTipoIngressos.Add(tipoIngresso);
        }

        /*-------------------------------------------------------------------*/
    }
}